#include <VideoPlayer.h>

VideoPlayer::VideoPlayer(QWidget *parent)
    : QWidget(parent), isPlaying(false), isSliderDragging(false)
{
    // 创建媒体播放器对象
    player = new QMediaPlayer(this);

    // 创建视频显示窗口
    videoWidget = new QVideoWidget(this);
    videoWidget->setMinimumWidth(1280);
    videoWidget->setMinimumHeight(720);
    // 设置播放器的视频输出为 videoWidget
    player->setVideoOutput(videoWidget);

    // 创建声音容器
    audiooutput = new QAudioOutput(this);
    // 将音频输出设备与 player 对象关联
    player->setAudioOutput(audiooutput);
    audiooutput->setVolume(100); // 设置音量为50

    // 设置布局
    QVBoxLayout *layout = new QVBoxLayout;
    layout->addWidget(videoWidget);

    // 用于显示图片
    QLabel *imageLabel = new QLabel(this);
    layout->addWidget(imageLabel);
    imageLabel->setHidden(true);


    setLayout(layout);
    layout->setContentsMargins(0, 0, 0, 0);  // 分别设置左、上、右、下的边距为 0

    setStyleSheet("border: none;");
    //setWindowFlags(Qt::FramelessWindowHint);
    // 设置全屏 - 发布打开
    showFullScreen();

    // 创建透明覆盖窗口并显示
    m_transparentOverlay = new TransparentOverlay(player);

    // 设置透明覆盖窗口的位置和大小与视频窗口相同
    m_transparentOverlay->move((videoWidget->width()/2)-(m_transparentOverlay->width()/2),(videoWidget->height()/2)-(m_transparentOverlay->height()/2));

    KeyTriggerSystem();


}

VideoPlayer::~VideoPlayer() {}


void VideoPlayer::KeyTriggerSystem()
{
    // 定义 Alt + A 快捷键
    QShortcut *shortcutESC = new QShortcut(QKeySequence(Qt::Key_Escape), this);
    connect(shortcutESC, &QShortcut::activated, this, &VideoPlayer::onESCPressed);
}

void VideoPlayer::onESCPressed()
{
    m_transparentOverlay->show();
}
